Method and apparatus for displaying intermediate content messages in the unused portion of a web browser display space

ABSTRACT

A system for displaying intermediate message content over the unused area of a web browser is described. An intermediate message display process is linked to the web browser program executed on a client computer. The process monitors user activity on the client computer and identifies areas of the web browser display area that are not used. Upon detection of an unused clear space within the web browser display area, an intermediate message is displayed in the clear area of the web browser. The intermediate message could be an advertisement display provided by a third party content provider. A timer process and clear space detection routine within the intermediate message display process govern the display of the intermediate message in accordance with specified background pattern and message window dimension parameters.

FIELD OF THE INVENTION

[0001] The present invention relates generally to World-Wide Web basedcomputer networks, and more specifically, to a system for displayingintermediate message content data in the unused portion of a web browserdisplay space.

BACKGROUND OF INVENTION

[0002] Accessing information over the World-Wide Web (“web”) portion ofthe Internet is a popular activity for many computer users. Datatransmitted over the Internet is often provided in the form of web pagesthat are served by a web server process running on a server computer andaccessed by a web browser process running on a client computer. Presentweb-based technologies allow web servers to integrate and provide agreat deal of information in their web pages. Moreover, many differenttypes of content can also be provided within a web page. For example, aparticular web page may have static text or graphic information in onedisplay area, links to other web pages in a second display area, andstreaming audio or video in yet another display area.

[0003] Accessing the Internet and its services through a client computeris typically accomplished by invoking a network application program,such as a web browser. The network application program acts as aninterface between the user and the Internet. Network applicationprograms are typically client applications that accept commands from theuser and obtain data and services from the Internet by sending requeststo server applications, such as web servers on other computers at otherlocations on the Internet.

[0004] The web browser application programs are used for retrieving andviewing information from the Internet. Some examples of commerciallyavailable web browsers include Internet Explorer™ by Microsoft®Corporation of Redmond, Wash. and Netscape Navigator™ by NetscapeCommunications® of Mountain View, Calif.

[0005] The web browser typically has a graphic user interface (GUI) thatallows a user to control the web browser functions through a mouse andkeyboard by pointing and clicking various control buttons that accessand invoke various commands. The control buttons are typically providedin a dedicated area of the web browser, usually referred to as the“taskbar” or “toolbar” of the web browser. By using the cursor tooperate the functional buttons or pull down menus of the web browsertaskbar the user is able to control the displayed information fromcomputers on the Internet. The taskbar also usually contains an areainto which the user can type in an address called a URL (“UniformResource Locator”) to obtain a desired HTML document or view aparticular web page.

[0006] Web pages accessed through a web browser may be found on severalother remote Internet host computers. When the user selects an HTMLdocument link, the web browser can retrieve the document or data thatthe link refers to by using HTTP, FTP, Gopher, or other Internetapplication protocols. Once the desired HTML document or new web page isdownloaded, its contents are displayed in the main display area of theweb browser. The web page may include content in various differentforms, such as text, graphics, video clips, audio clips, and the like.The web page may also include embedded links that allow the user toaccess other data or web pages.

[0007] Because of the amount of information that is typically providedin average web pages, display space is at a premium. Often, web pagescontain information that is additional to the content that comprises thedownloaded web page. One example of such intermediate information is anadvertising message. In present web based systems, such advertisingmessages are frequently provided in the form of “pop-up” banner ads thatoccupy or cover a portion of the web display area. This often results ina crowded web display area in which the displayed intermediate contentdisplaces some of the content that the user is primarily interested in.Moreover, many current pop-up message systems cause a pop-up message toappear in a window that covers or interferes with a portion of theactive window that the user is viewing. This can be annoying since itinterrupts the user's viewing experience and forces the user to closethe pop-up message window or send it to the background.

[0008] In many cases, while the user is viewing the content of the webpage or clicking on embedded links, certain areas of the browser windoware typically unused. In some web browser programs, these unused areas,also referred to as “clear space” can constitute a significantpercentage (e.g., 25%) of the total web browser display area. Adisadvantage of present web browser systems is that this unused clearspace is under-utilized for the display of intermediate content data.Instead, current systems randomly place pop-up message windows withinthe active viewing area, thus potentially covering content that the userdesires to view.

[0009] Besides web browsing systems for personal computers, other typesof display devices, such as televisions, portable computing or gamedevices, cellular phones, and the like also typically involve thedisplay of primary content that may not occupy the entire viewing area.For these device systems, an unused portion of clear space may also beavailable for utilization by parties that are configured to communicatewith these systems.

SUMMARY AND OBJECTS OF THE INVENTION

[0010] It is an object of embodiments of the present invention toprovide a web-based content delivery system that displays intermediatemessage data over the unused portions of web browser display screen.

[0011] It is a further object of embodiments of the present invention toprovide an improved Internet advertising message delivery system.

[0012] A system for displaying intermediate message content over theunused area of a web browser is described. An intermediate messagedisplay process is linked to the web browser program executed on aclient computer. The process monitors user activity on the clientcomputer and identifies areas of the web browser display area that arenot used. Upon detection of an unused clear space within the web browserdisplay area, an intermediate message is displayed in the clear area ofthe web browser. The intermediate message could be an advertisementdisplay provided by a third party content provider. A timer process andclear space detection routine within the intermediate message displayprocess govern the display of the intermediate message in accordancewith specified background pattern and message window dimensionparameters.

[0013] Other objects, features, and advantages of the present inventionwill be apparent from the accompanying drawings and from the detaileddescription that follows below.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereferences indicate similar elements and in which:

[0015] The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereferences indicate similar elements, and in which:

[0016]FIG. 1 illustrates a block diagram of a computer network systemthat implements embodiments of the present invention;

[0017]FIG. 2 illustrates the display screen of an exemplary web page asdisplayed in a client computer that includes various display fields aswell as clear space that is recognized by the clear space displayprocess, according to one embodiment of the present invention;

[0018]FIG. 3A illustrates an exemplary web page with a recognized clearspace area in a first scrolled position, according to one embodiment ofthe present invention;

[0019]FIG. 3C illustrates the exemplary web page of Figure in a secondscrolled position;

[0020]FIG. 4 is a flowchart that illustrates the process of identifyingand displaying intermediate messages in the clear space of a displayedweb page, according to one embodiment of the present invention;

[0021]FIG. 5 is a flowchart that illustrates to process of displayingintermediate messages in the clear space of a scrolled web page,according to one embodiment of the present invention.

DETAIL DESCRIPTION OF INVENTION

[0022] A system for displaying intermediate content in the unused orclear space of a web browser display is described. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide a thorough understanding of the presentinvention. It will be evident, however, to one of ordinary skill in theart, that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form to facilitate explanation. The description ofpreferred embodiments is not intended to limit the scope of the claimsappended hereto.

[0023] Hardware Overview

[0024] Aspects of the present invention may be implemented on one ormore computers executing software instructions. According to oneembodiment of the present invention, server and client computer systemstransmit and receive data over a computer network or standard telephoneline. The steps of accessing, downloading, and manipulating the data, aswell as other aspects of the present invention are implemented bycentral processing units (CPU) in the server and client computersexecuting sequences of instructions stored in a memory. The memory maybe a random access memory (RAM), read-only memory (ROM), a persistentstore, such as a mass storage device, or any combination of thesedevices. Execution of the sequences of instructions causes the CPU toperform steps according to embodiments of the present invention.

[0025] The instructions may be loaded into the memory of the server orclient computers from a storage device or from one or more othercomputer systems over a network connection. For example, a clientcomputer may transmit a sequence of instructions to the server computerin response to a message transmitted to the client over a network by theserver. As the server receives the instructions over the networkconnection, it stores the instructions in memory. The server may storethe instructions for later execution, or it may execute the instructionsas they arrive over the network connection. In some cases, thedownloaded instructions may be directly supported by the CPU. In othercases, the instructions may not be directly executable by the CPU, andmay instead be executed by an interpreter that interprets theinstructions. In other embodiments, hardwired circuitry may be used inplace of, or in combination with, software instructions to implement thepresent invention. Thus, the present invention is not limited to anyspecific combination of hardware circuitry and software, nor to anyparticular source for the instructions executed by the server or clientcomputers.

[0026]FIG. 1 illustrates a computer network system 100 that implementsone or more embodiments of the present invention. In system 100, anetwork server computer 104 is coupled, directly or indirectly, overline 125 to one or more network client computers 102 through a network110. The network interface between server computer 104 and clientcomputer 102 may also include one or more routers that serve to bufferand route the data transmitted between the server and client computersover line 121. Network 110 may be the Internet, a Wide Area Network(WAN), a Local Area Network (LAN), or any combination thereof.

[0027] In one embodiment of the present invention, the server computer104 is a World-Wide Web (WWW) server that stores data in the form of‘web pages’ and transmits these pages as Hypertext Markup Language(HTML) files over the Internet network 110 to the client computer 102.For this embodiment, the client computer 102 typically runs a “webbrowser” program 114 to access the web pages served by server computer104 and content provider 103.

[0028] In one embodiment of the present invention, server 104 in networksystem 100 is a server that executes a server side intermediate messagedisplay process 112. Client versions of the intermediate message displayprocess 105 may also be executed on the client computers, such as clientcomputer 102. The intermediate message display process 112 may representone or more executable program modules that are stored within networkserver 104 and executed locally within the server. Alternatively,however, it may be stored on a remote storage or processing devicecoupled to server 104 or network 110 and accessed by server 104 to belocally executed. In a further alternative embodiment of the presentinvention, intermediate message display process 112 may be implementedin a plurality of different program modules, each of which may beexecuted by two or more distributed server computers coupled to eachother, or to network 10 separately.

[0029] In one embodiment of the present invention, wherein network 110is the Internet, network server 104 executes a web server process 116 toprovide HTML documents, typically in the form of web pages, to clientcomputers coupled to network 110. To access the HTML files provided byserver 104, client computer 102 runs a web client process (typically aweb browser, such as Netscape Navigator™ or Microsoft Explorer™) 114that accesses web pages available on server 104 and other Internetserver sites, such as content provider 103 (which may also be a networkserver executing a web server process). It should be noted that anetwork system 100 that implements embodiments of the present inventionmay include a larger number of interconnected client and servercomputers than shown in FIG. 1. For this embodiment, the client computer102 may access the Internet network 110 through an Internet ServiceProvider (ISP) 107. In one embodiment of the present invention, aseparate content provider 103 may provide the data that comprises theintermediate messages 108. Alternatively, this content may be provideddirectly by the server computer 104.

[0030] As can be appreciated by those of ordinary skill in the art, therepresentative networked computers of FIG. 1, such as network servercomputer 104 can be implemented as any standard computer that includes acentral processing unit (CPU) coupled through a bus to various otherdevices. These devices could include random access memory (RAM), a readonly memory (ROM), and mass storage devices (e.g., a magnetic disk,optical compact disk, or tape drive for storing data and instructions).The computer also typically includes input/output devices, such as, adisplay device, keyboard, and network interface device, along with othersimilar devices or interfaces. Any of the computers in FIG. 1 could beimplemented in the form of personal computers, laptop computers,mainframe computers, or other type of workstation computers. Thecomputers in FIG. 1 could also be implemented in the form of portable orminiaturized computing devices, such as handheld personal digitalassistants (PDA), including devices that communicate with other deviceson the network over a wireless medium. In certain systems, the clientcomputer can also be implemented as a dedicated Internet client, such asa television that includes Internet access. Such clients are typified bythe WebTV™ system.

[0031] Clear Space Intermediate Message Display Process

[0032] In one embodiment of the present invention, network system 100comprises a client resident clear space display process 105 executed bynetwork client 105. The client side clear space display process 105 isoperable to display an intermediate message content in the unused orclear areas of web browser 114 displayed on the client 102. Theintermediate message content can comprise text or graphic messages, suchas pop-up advertisements or other similar messages. These messages canbe stored or cached locally on the network client 102 such as through anintermediate message content data storage location 127, or theintermediate message content can be transmitted to the network client102 over the network 110 from a content provider 103. In this case, theactual data comprising the intermediate message can be stored in a datastorage device 108 coupled to the content provider computer 103. Forthis embodiment, the content provider 103 acts as a repository ofintermediate messages for upload to the network client 102.

[0033] In one embodiment, the client resident clear space displayprocess 105 is transmitted to the network client 102 by network server104 from a server resident clear space display process 112. Once theclear space display process is downloaded to the client computer, it isstored locally and executed in conjunction with the client web browserprogram 114. For this embodiment, the clear space display process isonly downloaded once to the client computer from the server computer,and is thereafter executed locally. In an alternative embodiment, theclear space display process executed over the network by the networkclient 102 from network server 104 as a server resident clear spacedisplay process 112 whenever the client web browser program 114 isexecuted. This method may slow execution time of the clear space displayprocess since the program is executed over a network rather thanlocally, but requires less storage space on the network client 102.

[0034] The clear space display processes 105 serves to generate anddisplay intermediate messages, such as pop-up advertisements, in theunused areas of web browser 114. When a user is viewing a downloaded webpage, much of the web page display area may be unoccupied. The clearspace display process includes a process that identifies empty spaceswithin the displayable portions of the client computer display device.For the embodiment in which the client computer executes a web browserprogram 114, the clear space display process 105 recognizes empty spaceswithin the web page displayed by the web browser. The clear spacesidentified by the clear space display process conform to dimensions thatcorrespond to the size of the message to be displayed.

[0035]FIG. 2 illustrates a web page that includes various display fieldsas well as clear space that is recognized by the clear space displayprocess. Taskbar 202 contains various command or command icons fornavigating around web sites and performing various functions. Thetaskbar 202 can also include an area that displays the URL (address) ofthe displayed web page. The main section of web page 200 is display area204. This area displays the contents of the web page at the specifiedURL. For the example illustrated in FIG. 2, web page 200 includes a textarea 206 that contains lines of text. The exemplary web page 200 alsoincludes a window 208 for displaying graphical content, such as stillpictures or banner advertisements. Depending on the content contained ina web page, many types of content and formats are possible. For example,another window 210 may be used to display streaming video contentthrough the web page. A typical web browser program also includes avertical scroll bar 215 and horizontal scroll bar 217 that allow theuser to scroll the displayed web page up/down or left/right to viewother areas of the web page.

[0036] Many web pages include some amount of empty or clear space. Thisis unused space within the web page that is not being used to displaypurposive content such as text 206, graphics 208 or any other type ofactual content. Typically, such clear space may not be totally devoid ofcontent in that it may contain color or a background pattern or even ascreen saver graphic. Technically though, even if such a clear space isnot displayed as a plain white area, this space can be considered unusedby the web page being accessed.

[0037] In one embodiment of the present invention, the clear spacedisplay process identifies and measures the available clear space withina displayed web page. The empty space 212 is defined by XY coordinatesof a boundary that encloses the unused empty space. The XY coordinatesof the boundary define both the size of the empty space and its locationwithin the active display area of the web page. In the simplestembodiment, the empty space is defined as a rectangular or square spacethat includes a usable area of the available unused space in a web page.For this type of boundary, the XY coordinates comprise the corner pointsof the boundary in terms of pixel locations. In other embodiments, theempty space can be defined by other two-dimensional shapes, such ascircles, triangles, or compound polygons. For these embodiments, thecoordinates of the boundary encompassing the clear space can be definedin terms of pixel locations or area and location formulae appropriatefor the outline shape of the boundary.

[0038] Generation and Display of Intermediate Messages

[0039]FIG. 4 is a flowchart that illustrates the process of identifyingand displaying intermediate messages in the clear space of a displayedweb page, according to one embodiment of the present invention. In step402, the active window in which the intermediate display image is to bedisplayed is determined. In computer applications, a computer desktopcan include various simultaneously open windows, such as a wordprocessor program, e-mail program and web browser all runningconcurrently. Typically only one application can be active at one time,with the other applications displayed in the background of the activewindow. For this embodiment, it is assumed that the intermediate messageis to be displayed in the clear space of a web browser program. In step402, the displayed web page of an active web browser program isdisplayed.

[0040] In step 404, the minimum size of the required clear space isdefined. The size of the clear space boundary is defined in terms ofdimensions that specify the size, shape of boundary in which theintermediate message is to be displayed. In some cases, an active webpage may include several regions of unconnected unused space. A minimumclear space area is defined, such that clear space that is not of asufficient size is not flagged as an identified clear space. In oneembodiment, if two or more disparate areas of clear space are ofsufficient size, all such areas may be flagged and defined within theactive window as being available for the display of intermediatemessages.

[0041] In step 406 the active window is scanned to find clear areas thatconform to the minimum dimensions defined in step 404. Clear spacecomprises space in the active window that does not contain purposivecontent; such clear space could comprise plain white background, aconstant color background, or a repeated pattern background (such as astatic screensaver pattern). In one embodiment of the present invention,an RGB color code is defined for the clear space. The clear spacedisplay process 105 scans the active window and looks for groups ofpixels of the defined dimensions that conform to the defined clear spacecolor code. If such a grouping is found, this area is defined as clearspace within the active window. If the active area includes a backgroundpattern that is not a constant color, but is instead a backgroundpattern, the RGB color code is defined in terms of the backgroundpattern. In this case, the background pattern must have a repetitiveelement, since a random pattern is difficult to define. In oneembodiment, the clear space display process scans the active area for anappropriately sized clear space by moving from one column (or row) ofpixels to the next column (or row). Alternatively, the clear spacedisplay process analyzes a set of pre-defined pixels within the activearea. If one or more pixels within the first set of analyzed pixelsconform to the defined pattern, neighboring pixels are analyzed todetermine if an appropriate clear space exists.

[0042] In step 408 of FIG. 4, it is determined whether an adequate clearspace area exists within the active window. If a clear space areaexists, an intermediate message is displayed in this area, step 412. Inone embodiment, the intermediate message is downloaded from theintermediate message content storage location 127 in the client computer102. For example, the intermediate message could be stored in a localcache for display by the clear space display process 105 upon theidentification of a clear space area in the active window. Thisintermediate message is then displayed in the foreground of the activewindow within the predefined boundary location. If the intermediatemessage is not stored or generated locally within the client computer102, it may be downloaded over the network from a remote source, such ascontent provider 103 or web server 116.

[0043] If, in step 408, it is determined that clear space is notavailable within the active window, the clear space display process doesnot download and display the intermediate message. Instead, it waits fora change in the active window that may create the availability of clearspace within the window, step 410. Such a change could be the reloadingof another web page or the scrolling of a web page within the displayarea.

[0044] Some web pages may include content that cannot be displayedwithin the confines of a single display screen. These pages typicallyrequire that the user scroll through the web page to view the entirepage. On most web browsers, this is accomplished using scroll bars 215and 217. As a user scrolls up or down, or left or right through a webpage, the contents of the web page shift in the display device. Theempty space within the web page also shifts as the page is scrolledFIGS. 3A and 3B illustrate the shifting of a web page display as the webpage is scrolled from a first position to a second position. FIG. 3Aillustrates an exemplary web page with a recognized clear space area ina first scrolled position. In web page 300 in FIG. 3A, the display area304 corresponds to the page when the scroll bar is in a first position303, and includes a first text display area 302 and a second textdisplay area 306. An unused clear space 304 is available between thesetwo text areas. FIG. 3B illustrates the exemplary web page of FIG. 3A ina second scrolled position, as indicated by the scroll bar in a lowerposition 305. For this display, the second text display area 306 hasshifted up, and a new text area 308 has appeared. For this web pagedisplay, a new clear space 310 is available at the bottom of the page.

[0045]FIG. 5 is a flowchart that illustrates to process of displayingintermediate messages in the clear space of a scrolled web page,according to one embodiment of the present invention. In step 502 atimer process is started The timer process periodically checks theactive window to determine a change, and executes a find clear spaceprocess that scans the active window for clear spaces. In oneembodiment, the active window is checked every two seconds to determineif an intermediate message can be displayed in a clear area. The timerperiod can be altered depending upon the requirements and configurationof the client computer system.

[0046] In step 504 an event detection process is started. This processcaptures the state of the active window and determines if a state changehas occurred. For example, if the active window is an HTML web page, theevent detection process determines if a new web page has been loaded, oran existing web page has been scrolled up or down, or left or right. Instep 506 it is determined whether the displayed page has been scrolledor otherwise changed. In one embodiment, the process illustrated in FIG.5 assumes that an intermediate message is either presently beingdisplayed or that no clear space is available. For this embodiment, ifin step 506, the displayed page is not scrolled, the process ends, withthe intermediate message continuing to be displayed or hidden, dependingon the current state. If, however, in step 506 it is determined that thepage has been scrolled, the new active window is captured, step 508. Instep 510, the coordinates of the currently defined message block aredetermined. The coordinates include the location of the message block onthe page prior to the scroll operation, as well as the size and shape ofthe message block. It should be noted that this step assumes that anintermediate message was displayed in a clear space area in the pageprior to the scroll operation.

[0047] In step 512, it is determined whether the same location anddimensions in the new active window is empty and clear. If the locationis clear, an intermediate message is displayed in the clear space. Thisresults in the intermediate message being displayed in the same relativelocation of the new scrolled page. If it is determined in step 512 thatthe current location is not empty, a new empty space within the newactive window is located, step 514. In one embodiment, this isaccomplished by comparing groups of pixels within the active window topredefined RGB color patterns, or other predefined pixel patterns, asdescribed in relation to the process illustrated by step 406 in FIG. 4.In step 516 it is determined whether an appropriate empty space withinthe new active window is available. If not, the intermediate message ishidden, step 518, and the process either ends or repeats from step 504upon initiation by the timer process started in step 502. If anappropriate empty space is available in the new active window, theintermediate message is displayed in step 520. As described in referenceto FIG. 4, the intermediate message could comprise text, graphic, videoor other content provided by the client computer locally, or downloadedover the network from a remote content provider or server.

[0048] For the process illustrated in FIG. 5, a currently displayedmessage is relocated in a newly active window if clear space in the samerelative or different location is available. The dimensions of themessage boundary size are maintained if the same size area is availablein the new window. In an alternative embodiment, the message boundarysize may change if a larger or smaller amount of contiguous clear spaceis available in the new window. For example, if smaller area of clearspace is available, the message boundary size may be scaled down to fitin the smaller clear space. Similarly, if a larger area is available,the boundary size may be scaled up to fit in the larger clear space.Moreover, the shape of the message boundary area may be altered to fitdifferent shape clear spaces that may be available.

[0049] Embodiments of the present invention are intended to be used withany type of web browser or web server that has a principal display areaassociated therewith. In addition, embodiments of the present system maybe used with other types of display programs and display devices. Forexample, the display device may be a television, and the intermediatemessage display process may be configured to find clear space within astatic display or dynamic program being viewed on the television.

[0050] In one embodiment of the present invention, the clientintermediate message display process 105 works with the web browser 114to determine when and where to display the intermediate message asillustrated in FIG. 2. A typical example of an intermediate messagemight be an advertising message generated and provided by a product oradvertiser content provider during the period of time that the user iswaiting for a new web page to load. Because the Internet allowsrelatively easy access to literally a worldwide marketplace, web siteshave become increasingly used by commercial entities as virtual“storefront” sites. Indeed, retail Internet sites allow customers tomake shopping decisions and perform entire purchase transactions on-linewithout visiting a store or speaking to a clerk. One significantdevelopment in electronic commerce (“e-commerce”) sites is theintegration of advertising messages with the server content. As in themagazine publishing industry, for example, such advertising is oftenused by the content provider to subsidize at least a portion of the costof maintaining the web page and providing the products or data to thecustomer.

[0051] Because of the ability to reach so many potential customersadvertisers often utilize different techniques to present their messagethrough Internet sites. Pop-up advertising messages, banner ads, hiddenlinks, and Java applets that are all embedded within a contentprovider's web page are all examples of some of the techniques used byadvertisers to get their messages to the users. Embodiments of thepresent invention allow advertisers to effectively increase theirexposure for their products or services.

[0052] In general, the intermediate message displayed by the clear spacedisplay process is displayed over of the unused area of the active webbrowser window so that the unused background space is essentially hiddenin whole or in part by the intermediate message. The intermediatemessage display can be displayed in an HTML frame or display area thatcan display text, graphics, streaming video, or other type of data.Moreover, this intermediate message display area may include standardGUI elements that allow the message display window to be resized orscrolled within.

[0053] As described above, the content of the message displayed in theintermediate message display window may be provided by the intermediatemessage content data 127 contained in local memory of the client (webbrowser) computer. This may be done by storing the intermediate messagecontent data 127 in the client computer local memory, such as a cachememory, and uploading this data from the cache during web browser idleperiods. For this embodiment, the intermediate message content data 127may periodically be updated from the intermediate message content 108provided by a content provider 103 or other computer, such as server104. For systems in which the client computer 102 is a wireless device,such as a PDA, cellular phone, or similar device, the intermediatemessage content data can be provided on resident storage media, such assolid state disk, memory card, flash memory, or similar devices.Alternatively, the intermediate message content data 127 can be uploadedfrom a memory coupled to other computers on the network, such as contentprovider 103 or server 104. For this embodiment, the content data can beuploaded to the client computer off-line periodically from the server104 or content provider 103. The number of different messages and thefrequency of updating the messages can be determined by the server orcontent provider. For example a series of ads can be sequentiallyuploaded to the client computer according to a particular ad campaignschedule. This ensures that the displayed messages are timely andappropriate. Such upload operations typically occur during off-lineperiods when the modem or client network interface is idle, such as whenthe user is viewing a loaded web page. In this case, the client sideclear space display process 105 and/or server side clear space displayprocess 112 automatically upload any new message content to the clientcomputer.

[0054] The clear space display process may also include a messagemonitoring function that monitors the number of times that a message hasbeen viewed or the age of a message has been viewed or that is scheduledto be viewed. In this case, new message can be uploaded to replacemessages that have been viewed a set number of times or that areotherwise stale. For example, if it is determined that a particularadvertisement has been displayed on ten successive scrolled we pages, anew ad can be uploaded during the idle period of the web browserinstance, so that the next time the taskbar is idle, a new ad is viewed.The upload mechanism may have an interrupt feature built-in so that if acontext switch event occurs during the uploading process, the oldadvertisement is redisplayed. Besides pop up or banner ads, theintermediate message content displayed by the clear space displayprocess could include other types of date. This includes, streamingdata, hypertext links, stock quotes, graphic content, audio data links,or any data or information deemed useful in the course of using acomputer, surfing the Web, watching television or using handhelddevices, such as PDAs and cellular phones.

[0055] In the foregoing, a system has been described for generating anddisplaying intermediate messages in the unused area on a client webbrowser. Although the present invention has been described withreference to specific exemplary embodiments, it will be evident thatvarious modifications and changes may be made to these embodimentswithout departing from the broader spirit and scope of the invention asset forth in the claims. Accordingly, the specification and drawings areto be regarded in an illustrative rather than a restrictive sense.

What is claimed is:
 1. A method of displaying an intermediate message ina web browser executed on a client computer, comprising the steps of:identifying an active display window of the web browser; defining sizeand dimensions of a message display window encompassing the intermediatemessage; identifying an unused display space within the active displaywindow corresponding to the defined size and dimensions of the messagedisplay window; displaying the intermediate message in the messagedisplay window if unused display space corresponding to the defined sizeand dimensions of the message display window is available.
 2. The methodof claim 1 further comprising defining a pattern corresponding to abackground pattern of the active display window, and wherein the step ofidentifying an unused display space within the active display windowcomprises comparing blocks of pixels within the active display window tothe defined background pattern.
 3. The method of claim 4 wherein thedefined background pattern comprises a predefined red-green-blue (RGB)pixel color pattern.
 4. The method of claim 2 further comprising thestep of monitoring the state of the active display window to determineif there is a change in content of the active display window to producea new active display window.
 5. The method of claim 4 further comprisingthe step of monitoring a period of time that the active display windowis active.
 6. The method of claim 5 further comprising the steps of:identifying an area in the new active display window corresponding tothe location of the message display window in the active display window;determining if the area in the new active display window is unused; anddisplaying the intermediate message in the area if the active displaywindow is unused, or identifying an alternative unused area within thenew active display window if the area is not unused.
 7. The method ofclaim 1 wherein the intermediate message is an advertising text messagegenerated and provided to the client computer by a third party contentprovider coupled to the client computer over a computer network.
 8. Themethod of claim 1, further comprising the step of storing theintermediate message in a memory of the client computer.
 9. The methodof claim 1 wherein the client computer is coupled to a web servercomputer over the Internet network, and wherein the client computerexecutes client processes operable to transmit and receive data filesover the World Wide Web portion of the Internet, and further wherein theweb page data comprises Hypertext Markup Language (HTML) data executableby the client processes.
 10. A system for displaying an intermediatemessage to a plurality comprising: a server computer hosting a messageservice; a plurality of client computers each running browser programsand each having a visual display projecting a graphic user interface ofthe browser program and an input device which can control at least somefunctions of the browser programs; a computer network providing acommunication link between the server computer and the plurality ofclient computers; and a database in communication with the network forstoring intermediate messages; wherein the client computer executes aprocess operable to identify empty space in an active display page,re-identify and capture unused space within the active display page whenpage contents and layout change in response to user commands, anddetermine varying usable clear area size and boundary for intermediatemessage display.
 11. The system of claim 10 wherein the active displaypage comprises a background pattern consisting of a constant predefinedred-green-blue (RGB) pixel color pattern.
 12. The system of claim 11wherein the process is further operable to identify an unused displayspace within the active display window by comparing blocks of pixelswithin the active display window to the defined background pattern. 13.The system of claim 12 wherein the process is further operable monitor aperiod of time that the active display window is active.
 14. The systemof claim 10 wherein the intermediate message is an advertising textmessage generated and provided to the client computer by a third partycontent provider coupled to the client computer over the computernetwork.
 15. The system of claim 10 wherein the intermediate message isstored temporarily in a memory of the plurality of client computers. 16.An internet-based system for displaying an intermediate message,comprising: a server computer hosting a message service; a plurality ofclient computers each running browser programs and each having a visualdisplay projecting a graphic user interface of the browser program andan input device which can control at least some functions of the browserprograms; a computer network providing a communication link between theserver computer and the plurality of client computers; and a database incommunication with the network for storing intermediate messages;wherein the server computer provides the intermediate message to each ofthe plurality of client computers and wherein the intermediate messageis displayed in an unused area the active display space of the browserprograms.
 17. The internet-based system of claim 16 wherein the unusedarea is determined in relation to a pre-defined boundary size of theintermediate message and purposive content displayed in the active areain response to user commands.
 18. The internet-based system of claim 17wherein the unused area is determined by comparing a background patternof pixels of the active display space to a pre-defined pattern definingclear space within the active display space.
 19. The internet-basedsystem of claim 16 wherein the intermediate message is an advertisingtext message generated and provided to the client computer by a thirdparty content provider coupled to the client computers over the computernetwork.
 20. The internet-based system of claim 16 wherein theintermediate message is stored temporarily in a memory of at least someof the plurality of client computers.